from django.shortcuts import render,HttpResponse
# 导入models类
from basicweb.models import Faculty, Major
from django.http import JsonResponse


def index(request):
    """基础数据的views函数"""
    return render(request, 'basic/index.html')


def get_values(request):
    """获取所有的院系信息"""
    # =============== 获取数据 ==============
    # 获取某一个对象的所有数据，并转为字典
    objs = list(Faculty.objects.all().values()) # 获取所有！ 默认是QuerySet, 这种集合无法被HTTPResponse ，只有Python基础的数据类型（list,dict）才可以
    # 获取某一个对象，使用get，返回某一个具体的对象， 如果get后面的条件匹配为空，代码异常！
    obj = Faculty.objects.get(id=4)  # 是对象
    # 获取匹配条件的对象，使用filter， 返回的是queryset集合
    obj2 = Faculty.objects.filter(id=4).first()

    # =============== 添加 ===============
    # 方法01: update_create, 如果主键冲突，就修改属性
    obj_new = Faculty(id=11, name="山炮学院")
    obj_new.save()

    # 方法02：标准的添加，如果主键冲突就报错！
    Faculty.objects.create(id=11, name="山炮888系列")

    # ============ 修改 =====================
    # 方法01: 常规的修改方式
    obj_update = Faculty.objects.filter(id=11).first()  # 确实是某一个对象！！！！！！！
    obj_update.name = "山炮888"
    obj_update.save()

    # 方法02：针对集合直接修改，可以一次修改多个对象
    Faculty.objects.filter(id=11).update(name='山炮999')

    # ============= 删除 =================

    Faculty.objects.filter(id=11).first().delete()
    Faculty.objects.get(id=11).delete()


    return JsonResponse({'data': objs})
